Go to the first, previous, next, last section, table of contents.

Hacking Xconq

Although Xconq and its GDL have considerable power and flexibility already built in, you may decide that you want to modify the Xconq program itself. You should know what you are doing; Xconq is designed to be modifiable, but it is not simple code. In the past, people have found it easy to make changes, but much harder to make them correctly!

Xconq is designed to be portable to different types of user interfaces. It is based on a kernel-interface architecture, where the semantics of the game, as documented in the preceding chapters, is part of the kernel, while the main program and player interaction are specific to each system.

Xconq is also designed to allow the addition of new AIs. The default "mplayer" AI, while it is flexible and will attempt to play any side in any game, does not have the depth that is often important to success in a game. Its position is that of a generic AI program that can learn to play any game, given only the rules; while such a program might figure out how to win at tic-tac-toe or checkers, it is not going to be particularly good at the subtleties of go or chess.

The Xconq GDL is also extensible. This is useful when the basic GDL does not provide some feature that is essential to a game.


Go to the first, previous, next, last section, table of contents.